jQuery(document).ready(function() {

    jQuery('#btn-search').click(function() {
        var url = jQuery(this).attr('href');
        var keyword = jQuery('#keyword').val();
        var page = 0;
        var type = jQuery('#sl-type').val();

        url += '/' + keyword + '/' + page + '/' + type;

        jQuery('#table-content').block({
            message: '<h1>Loading data</h1>',
            css: {
                border: 'none',
                padding: '15px',
                backgroundColor: '#000',
                '-webkit-border-radius': '10px',
                '-moz-border-radius': '10px',
                opacity: .5,
                color: '#fff'
            }
        });

        jQuery.get(url, null, function(data) {
            jQuery('#table-content').html(data);

            page = parseInt(page);

            jQuery('#btn-next-page').attr('page', page + 1);
            jQuery('#btn-prev-page').attr('page', 0);

            jQuery('#table-content').unblock();
            jQuery('#dyntable_paginate').show();

            jQuery('.page-num').remove();
            jQuery('#page-0').removeClass('paginate_button').addClass('paginate_active');
            jQuery('#max-page').val('0');

            doAfterAjax();

        });

        return false;
    });

    jQuery('#btn-next-page').click(function() {
        var url = jQuery('#btn-search').attr('href');
        var keyword = jQuery('#keyword').val();
        var page = jQuery(this).attr('page');
        var type = jQuery('#sl-type').val();

        url += '/' + keyword + '/' + page + '/' + type;

        jQuery('#table-content').block({
            message: '<h1>Loading data</h1>',
            css: {
                border: 'none',
                padding: '15px',
                backgroundColor: '#000',
                '-webkit-border-radius': '10px',
                '-moz-border-radius': '10px',
                opacity: .5,
                color: '#fff'
            }
        });

        jQuery.get(url, null, function(data) {
            jQuery('#table-content').html(data);

            var page = jQuery('#btn-next-page').attr('page');
            var next_page = parseInt(page);
            var max_page = parseInt(jQuery('#max-page').val());
            if (next_page > max_page) {
                jQuery('#btn-next-page').before('<span class="paginate_button page page-num" id="page-' + next_page + '" page="' + next_page + '">' + next_page + '</span>');
                jQuery('#max-page').val(next_page);

                jQuery('#page-' + next_page).click(function() {
                    var url = jQuery('#btn-search').attr('href');
                    var keyword = jQuery('#keyword').val();
                    var page = jQuery(this).attr('page');
                    var type = jQuery('#sl-type').val();

                    url += '/' + keyword + '/' + page + '/' + type;

                    jQuery('#table-content').block({
                        message: '<h1>Loading data</h1>',
                        css: {
                            border: 'none',
                            padding: '15px',
                            backgroundColor: '#000',
                            '-webkit-border-radius': '10px',
                            '-moz-border-radius': '10px',
                            opacity: .5,
                            color: '#fff'
                        }
                    });

                    jQuery.get(url, null, function(data) {
                        jQuery('#table-content').html(data);
                        doAfterAjax();
                    });

                    var page = jQuery(this).attr('page');
                    var next_page = parseInt(page);

                    jQuery('#btn-next-page').attr('page', next_page + 1);
                    jQuery('#btn-prev-page').attr('page', next_page - 1);

                    jQuery('#table-content').unblock();

                    var current = jQuery('.paginate_active');
                    jQuery(this).removeClass('paginate_button').addClass('paginate_active');
                    current.removeClass('page paginate_active').addClass('paginate_button page');

                    return false;
                });
            }
            var current = jQuery('.paginate_active');
            current.next('span.page').removeClass('paginate_button').addClass('paginate_active');
            current.removeClass('page paginate_active').addClass('paginate_button page');
            jQuery('#btn-next-page').attr('page', next_page + 1);
            jQuery('#btn-prev-page').attr('page', next_page - 1);
            jQuery('#table-content').unblock();

            doAfterAjax();
        });

        return false;
    });

    jQuery('#btn-prev-page').click(function() {
        var url = jQuery('#btn-search').attr('href');
        var keyword = jQuery('#keyword').val();
        var page = jQuery(this).attr('page');
        var type = jQuery('#sl-type').val();

        url += '/' + keyword + '/' + page + '/' + type;

        jQuery('#table-content').block({
            message: '<h1>Loading data</h1>',
            css: {
                border: 'none',
                padding: '15px',
                backgroundColor: '#000',
                '-webkit-border-radius': '10px',
                '-moz-border-radius': '10px',
                opacity: .5,
                color: '#fff'
            }
        });

        jQuery.get(url, null, function(data) {
            jQuery('#table-content').html(data);

            var page = jQuery('#btn-prev-page').attr('page');
            var next_page = parseInt(page);
            if (next_page > 0)
            {
                jQuery('#btn-next-page').attr('page', next_page + 1);
                jQuery('#btn-prev-page').attr('page', next_page - 1);

                var current = jQuery('.paginate_active');
                current.prev().removeClass('paginate_button').addClass('paginate_active');
                current.removeClass('page paginate_active').addClass('paginate_button page');
            }
            else {
                jQuery('#btn-next-page').attr('page', 1);
            }

            jQuery('#table-content').unblock();

            doAfterAjax();
        });

        return false;
    });


    jQuery('#page-0').click(function() {
        var url = jQuery('#btn-search').attr('href');
        var keyword = jQuery('#keyword').val();
        var page = jQuery(this).attr('page');
        var type = jQuery('#sl-type').val();

        url += '/' + keyword + '/' + page + '/' + type;

        jQuery('#table-content').block({
            message: '<h1>Loading data</h1>',
            css: {
                border: 'none',
                padding: '15px',
                backgroundColor: '#000',
                '-webkit-border-radius': '10px',
                '-moz-border-radius': '10px',
                opacity: .5,
                color: '#fff'
            }
        });

        jQuery.get(url, null, function(data) {
            jQuery('#table-content').html(data);

            jQuery('#btn-next-page').attr('page', 1);
            jQuery('#btn-prev-page').attr('page', 0);

            jQuery('#table-content').unblock();

            var current = jQuery('.paginate_active');
            jQuery('#page-0').removeClass('paginate_button').addClass('paginate_active');
            current.removeClass('page paginate_active').addClass('paginate_button page');

            doAfterAjax();
        });

        return false;
    });

    function doAfterAjax() {
        //image view
        jQuery('.view').colorbox();

        jQuery(".partial").click(function() {
            var url = jQuery(this).attr('href');
            var title = jQuery(this).attr('title');

            var SM = new SimpleModal({"btn_ok": "Ok", "width": 600});

            SM.show({
                "model": "modal-ajax",
                "title": title,
                "param": {
                    "url": url,
                    "onRequestComplete": function() {
                    }
                }
            });
            return false;
        });       

        return false;
    }
    ;

});

